From ccede15ff9a9d574c41a4ce62657112bf32e30c9 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 7 Aug 2004 20:57:19 +0000 Subject: [PATCH] (make_temp_name): Handle multibyte prefixes. --- src/ChangeLog | 4 ++++ src/fileio.c | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index d1d33a4695a..39e7b2e2738 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2004-08-07 Stefan Monnier + + * fileio.c (make_temp_name): Handle multibyte prefixes. + 2004-08-06 Luc Teirlinck * keyboard.c (syms_of_keyboard) : diff --git a/src/fileio.c b/src/fileio.c index c417dcdf339..a05b1cb8340 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -886,7 +886,7 @@ make_temp_name (prefix, base64_p) int base64_p; { Lisp_Object val; - int len; + int len, clen; int pid; unsigned char *p, *data; char pidbuf[20]; @@ -921,8 +921,10 @@ make_temp_name (prefix, base64_p) #endif } - len = SCHARS (prefix); - val = make_uninit_string (len + 3 + pidlen); + len = SBYTES (prefix); clen = SCHARS (prefix); + val = make_uninit_multibyte_string (clen + 3 + pidlen, len + 3 + pidlen); + if (!STRING_MULTIBYTE (prefix)) + STRING_SET_UNIBYTE (val); data = SDATA (val); bcopy(SDATA (prefix), data, len); p = data + len; -- 2.30.2